In the conventional art, basic processing for moving image processing includes a motion search in which motion vectors indicative of the shift amounts of an object and the directions of the shift between frames of different times are detected. The motion search is utilized, for example, for a frame interpolation in which a new frame is interpolated between frames of a moving image to increase a frame rate, moving image encoding, image stabilization for a camera, and the like.
Japanese Patent No. 3147893 discloses a method of dividing each frame contained in moving image data into a plurality of blocks and detecting a motion vector for each block. However, if a flat area which is larger than a block size and involves almost no change in luminance is present in the frame, the accuracy with which motion vectors are detected disadvantageously decreases.
Furthermore, a method disclosed in JP-A 2004-241880 (KOKAI) layers each frame and detects motion vectors using, in addition to candidate vectors described in Japanese Patent No. 3147893, motion vectors already detected in a layer higher than that on which the detection of motion vectors is to be carried out. However, if a misdetection occurs in the higher layer, the motion vectors in the lower layer determined using the motion vectors in the higher layer as candidate vectors may disadvantageously be misdetected.